NuGet套件管理員的操作方式與上一篇的擴充功能相似,差別在於NuGet是給專案使用的,擴充功能是在輔助開發工具,以前常常把這兩個搞混,因為畫面真的長得非常像。
NuGet其實就是一個用來安裝第三方套件的套件,例如專案過程中總是會需要用到一些第三方套件,有些比較複雜的套件還需要經過層層的設定步驟才能在專案上使用,很多哩哩摳摳需要注意的事項非常麻煩,但透過NuGet就可以簡化這些步驟並自動去修改專案環境,例如Web.config。
以下就來分享一下我的使用心得,在透過第2天的快速建立MVC專案後,我們可以開啟NuGet套件管理員,會發現NuGet已經自動安裝很多套件了,例如MVC和JQuery等等,所以接下來我們就來看看如何運用NuGet的功能。
開啟NuGet套件管理員
專案>參考(右鍵)>管理NuGet套件
查看已安裝的套件(如下圖),如果想安裝套件請自行將左選單切換到「線上」,然後再輸入關鍵字搜尋安裝即可
發現JQuery版本太新了,不想用,那就來看看按下解除安裝按鈕會發生什麼事
如果出現無法解除安裝的訊息,此時只好透過套件管理器主控台強制解除,開啟「工具>Nuget套件管理員>套件管理器主控台」,輸入以下指令,其中的JQuery是套件的辨識碼,可由上上張圖的右上方看到辨識碼資訊
Uninstall-Package jQuery -Force
成功解除安裝之後我們再到Nuget套件管理員去安裝JQuery,發現目前版本也不是想要的
所以只好再透過套件管理器主控台強制解除,開啟「工具>Nuget套件管理員>套件管理器主控台」,輸入以下指令
Install-Package jQuery -Version 1.6.4
其中1.6.4就是套件的版本,不過誰會清楚目前套件有哪些版本可以選擇呢?請到這邊查詢http://www.nuget.org/packages/JQuery
http://nuget.org/packages/套件的識別碼
另外以Elmah套件為例,可以在http://www.nuget.org/packages/Elmah查詢版本資訊
在初次開發專案時,根本不知道NuGet是啥,有一次透過SVN將同事的Code下載下來就發生悲劇了,一堆dll找不到,當時大家都覺得很麻煩,為什麼不能統一控管那些外部的程式庫,而且還要自己去網路上找相關dll然後丟進專案中的Package資料夾內,一直到高手同事跟我們說可以透過NuGet來下載套件並且還可以自動還原套件喔,才終於解除我們的惡夢,是說也可以把Package直接commit至SVN,只是Package真的非常大一包阿...還是建議不要將Package加入版控中比較好XD。
啟用NuGet套件還原之後,專案目錄下會產生一個叫**.nuget**的資料夾,只要把這資料夾Commit至SVN,在專案建置時NuGet就會自行去還原所需的套件,所以在多人開發的狀態下,其實也不太需要去管別人使用了那些套件,除非是套件更新後發生錯誤,不然其實不太需要自行管理
啟用NuGet套件還原 : 方案右鍵>啟用NuGet套件還原
也可以手動還原漏掉的套件